package com.atguigu.process.service;

import com.atguigu.common.result.Result;
import com.atguigu.model.process.Process;
import com.atguigu.vo.process.ApprovalVo;
import com.atguigu.vo.process.ProcessFormVo;
import com.atguigu.vo.process.ProcessQueryVo;
import com.atguigu.vo.process.ProcessVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

public interface ProcessService extends IService<Process> {
    Result<IPage<ProcessVo>> pageQuery(Long page, Long limit, ProcessQueryVo processQueryVo);

    //部署流程定义
    void deployByZip(String deployPath);

    void startUp(ProcessFormVo processFormVo);

    Page<ProcessVo> findPengding(Long page, Long limit);

    Map<String, Object> show(Long processId);

    void approve(ApprovalVo approvalVo);

    Page<ProcessVo> findProcessed(Long page, Long limit);

    IPage<ProcessVo> findStarted(Page<ProcessVo> pageParam);
}
